package com.taxi.driver.common.dagger;

import com.qianxx.utils.SP;
import com.taxi.driver.common.Application;
import com.taxi.driver.common.retrofit.HttpsUtil;
import com.taxi.driver.data.amap.AMapManager;
import com.taxi.driver.data.config.ConfigRepository;
import com.taxi.driver.data.duty.DutyRepository;
import com.taxi.driver.data.order.OrderRepository;
import com.taxi.driver.data.user.UserRepository;
import com.taxi.driver.module.account.firstlogin.FirstLoginActivity;
import com.taxi.driver.module.amap.navi.TTSController;
import com.taxi.driver.module.guide.GuideActivity;
import com.taxi.driver.module.launch.LaunchActivity;
import com.taxi.driver.module.main.MainActivity;
import com.taxi.driver.module.main.mine.setting.volume.SystemVolumeRceiver;
import com.taxi.driver.socket.SocketService;

import javax.inject.Singleton;

import dagger.Component;

/**
 * 功能描述：
 */
@Singleton
@Component(modules = AppModule.class)
public interface AppComponent {

    UserRepository userRepository();

    DutyRepository dutyRepository();

    OrderRepository orderRepository();

    ConfigRepository cofigRepository();

//    ApiRepository apiRepository();

    AMapManager amapManager();

    SP sp();
    void inject(Application application);

    void inject(LaunchActivity launchActivity);

    void inject(GuideActivity guideActivity);

    void inject(MainActivity mainActivity);

    void inject(SystemVolumeRceiver rceiver);

    void inject(SocketService socketService);

    void inject(FirstLoginActivity activity);

    void inject(HttpsUtil util);

    void inject(TTSController ttsController);
}

